package file01;

import java.io.File;

/**File类的获取功能:
 *
 *  String[] list()
 *           获取指定路径下的文件或文件夹的名称,将这些名称封装到一个字符串数组中,返回这个字符串数组
 *           只能获取一级文件夹下的内容,子级文件夹下的内容获取不到
 *           如果路径表示一个文件路径,该方法返回null,遍历null会报java.lang.NullPointerException
 *   File[] listFiles()
 *          获取指定路径下的文件或文件夹的路径,将这些路径封装到一个File[]数组中,然后返回该数组
 *          如果指定的文件夹路径是相对路径,那么将来输出File[]数组中的file对象,最终结果都是一个个相对路径
 *          如果指定的文件夹路径是绝对路径,那么将来输出File[]数组中的file对象,最终结果都是一个个绝对路径
 *          只能获取一级文件夹下的内容,子级文件夹下的内容获取不到
 *          如果路径表示一个文件路径,该方法返回null,遍历null会报java.lang.NullPointerException
 */
public class FileDemo07 {
	public static void main(String[] args) {
		//method01();
		File file = new File("day22/abc");
		File[] files = file.listFiles();
		for (File f : files) {
			System.out.println(f);
		}
		System.out.println("------------------------");
		File file2 = new File("F:\\OneDrive - business\\JavaSE1.8(online)\\JavaSE_Project\\day22\\abc");
		File[] files2 = file2.listFiles();
		for (File f : files2) {
			System.out.println(f);
		}
		System.out.println("-------------------------");
		File file3 = new File("day22/1.txt");//java.lang.NullPointerException
		File[] files3 = file3.listFiles();
		for (File f : files3) {
			System.out.println(f);
		}
	}

	private static void method01() {
		File file = new File("day22/abc");
		String[] files = file.list();
		for (String str : files) {
			System.out.println(str);
		}

		System.out.println("--------------------------");
		File file2 = new File("F:\\OneDrive - business\\JavaSE1.8(online)\\JavaSE_Project\\day22\\abc");
		String[] files2 = file2.list();
		for (String str : files2) {
			System.out.println(str);
		}
		System.out.println("--------------------------------");

		/*File file3 = new File("day22/1.txt");//java.lang.NullPointerException
		String[] files3 = file3.list();
		for (String str : files3) {
			System.out.println(str);
		}*/
	}
}
